es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La API de Instagram funciona bien en localhost pero envía un error en el servidor (https://www.instagram.com/${name}/?__a=1).

Estoy tratando de obtener información de perfil de un usuario. Funciona en localhost pero no en el servidor. No estoy conectado a una cuenta de Instagram en local/en mi PC. Parece que en el servidor está intentando iniciar sesión primero.

  let username = req.query.username;
  if (!username) {
    throw "Por favor ingrese un nombre de usuario";
  }      
  let name = username.toLowerCase();

  // console.log("name", name);
  var instagram_url = `https://www.instagram.com/${name}/?__a=1`;
  // console.log("url", instagram_url);
  // let response = await axios.get(
  // `https://api.lamadava.com/v1/user/by/username?username=hamimkivines&access_key=${access_key}
  // );
  let response = await fetch(instagram_url);
  console.log("response -", response); 

  let profile = await response.json();
  // console.log("profile", profile);
  return res.status(200).send(profile); 

Respuesta Local
url: ‘https://www.instagram.com/hamimkivines/?__a=1’,
status: 200,
statusText: ‘OK’,
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}

Respuesta del Servidor
0|dev | Symbol(Response internals): {
0|dev | url: ‘https://www.instagram.com/accounts/login/’,
0|dev | status: 200,
0|dev | statusText: ‘OK’,
0|dev | headers: Headers { [Symbol(map)]: [Object: null prototype] },
0|dev | counter: 1
0|dev | }
0|dev |
0|dev | error FetchError: cuerpo de respuesta JSON no válido en https://www.instagram.com/accounts/login/ motivo: Token inesperado < en JSON en la posición 0
0|dev | en /var/www/html/everlensv2node/node_modules/node-fetch/lib/index.js:273:32
0|dev | en processTicksAndRejections (internal/process/task_queues.js:95:5)
0|dev | en async getInstagramProfile (/var/www/html/everlensv2node/modules/user/user.controller.js:188:21) {
0|dev | type: ‘invalid-json’
0|dev | }
“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según el código y la información proporcionada, parece que el problema está relacionado con la autenticación o inicio de sesión. Parece que en el servidor, el código está siendo redirigido a la página de inicio de sesión de Instagram, lo que provoca un error al intentar analizar la respuesta como JSON.

    En el entorno local, el código es capaz de acceder a la URL solicitada y recuperar la información del perfil.

    Para resolver el problema, deberá asegurarse de que el servidor esté autenticado con una cuenta de Instagram que tenga acceso a la información del perfil solicitada. Esto se puede hacer iniciando sesión en Instagram a través del servidor o utilizando un método de autenticación proporcionado por la API de Instagram.

    Además, es posible que deba manejar los posibles errores o códigos de estado que puedan ser devueltos al realizar la solicitud a la API de Instagram.

Comments are closed.